// utils.js

/**
 * 获取缓存文件总大小（单位：字节）
 * @returns {Promise<number>}
 */
export function getCacheSize() {
    return new Promise((resolve, reject) => {
        uni.getSavedFileList({
            success: function(res) {
                if (res.fileList && res.fileList.length > 0) {
                    const totalSize = res.fileList.reduce((total, file) => total + file.size, 0);
					console.log(`获取的文件列表`,res.fileList);
                    resolve(totalSize);
                } else {
					console.log(`获取的文件列表为空`,res.fileList);
                    resolve(0); // 没有缓存文件
                }
            },
            fail: function(err) {
                reject(err);
            }
        });
    });
}

/**
 * 清除所有缓存文件
 * @returns {Promise<void>}
 */
export function clearCache() {
    return new Promise((resolve, reject) => {
        uni.getSavedFileList({
            success: function(res) {
                const fileList = res.fileList;
                if (fileList.length === 0) {
                    resolve(); // 没有缓存文件
                    return;
                }

                // 使用递归删除所有文件
                function deleteNext(index) {
                    if (index < fileList.length) {
                        uni.removeSavedFile({
                            filePath: fileList[index].filePath,
                            complete: () => {
                                deleteNext(index + 1);
                            },
                            fail: function(err) {
                                reject(err);
                            }
                        });
                    } else {
                        resolve(); // 所有文件已删除
                    }
                }

                deleteNext(0);
            },
            fail: function(err) {
                reject(err);
            }
        });
    });
}

// 示例调用
// import { getCacheSize, clearCache } from './utils';

// getCacheSize().then(size => {
//     console.log(`缓存大小：${size} 字节`);
// }).catch(err => {
//     console.error('获取缓存大小失败', err);
// });

// clearCache().then(() => {
//     console.log('缓存已清除');
// }).catch(err => {
//     console.error('清除缓存失败', err);
// });